#define _CRT_SECURE_NO_WARNINGS 1
//#include <iostream>
//#include <cstdlib>
//#include "lnb_alloc.h"
//#include <vector>
//#include <new.h>
//using namespace std;
//
//int main()
//{
//	//int* p = nullptr;
//	//lnb::_allocate<int>(10,p);
//	//int arr[3] = { 1,2,3 };
//	//vector<int, lnb::allocator<int>> v(arr,arr+3);
//	//vector<int, lnb::allocator<int>>::iterator it = v.begin();
//	//while (it != v.end())
//	//{
//	//	cout << *it << " ";
//	//	it++;
//	//}
//	//for (int i = 0; i < 3; i++)
//	//{
//	//	cout << v[i] << " ";
//	//}
//
//
//	//__type_traits<T>
//	//trivial_destructor();
//	int* p;
//	p->~int();
//	
//	return 0;
//}


#include <memory>
#include <stdio.h>
#include <vector>
#include <list>
#include <iostream>
#include <type_traits>
struct a{};
using namespace std;
void Func(int x,)
{

}
int main()
{
	vector<int> v={1,1,2,1,1};
	list<int> lt = { 1,2 ,3,4,5};
	//uninitialized_copy(lt.begin(), lt.end(), v.begin());
	int x = 10;
	uninitialized_fill(v.begin(), v.end(), x);
	for (auto& e : v)
	{
		cout << e << endl;
	}
	bool is_pod_v=is_pod<a>::value;
	cout << is_pod_v << endl;

	return 0;
}